package com.roamer.audition.web.security.service;

import org.springframework.security.core.userdetails.UserDetails;

/**
 * JWT服务处理
 *
 * @author roamer
 * @version v1.0
 * @date 2020/4/20 16:49
 */
public interface JwtUserService {

    /**
     * 生成 Token
     *
     * @param user 用户信息
     * @return {@code String} token
     */
    String generateToken(UserDetails user);

    /**
     * 根据用户名获取用户信息
     *
     * @param username username
     * @return {@code UserDetails}
     */
    UserDetails getUserLoginInfo(String username);

    /**
     * 清除 token
     *
     * @param username 用户名
     */
    void clearToken(String username);
}
